/**
 * UI 相关的工具函数
 */

/**
 * 获取申请类型对应的图标
 * @param type 申请类型
 * @returns 对应的图标字符
 */
export const getApplicationIcon = (type: string): string => {
	const iconMap: Record<string, string> = {
		'leave': '📅',
		'business-trip': '✈️',
		'expense': '🧾',
		'purchase': '🛒',
		'seal': '🔖',
		'vehicle': '🚗',
		'payment': '💰',
		'businessTrip': '✈️', // 兼容不同的命名格式
		'missedPunch': '🕐' // 补卡
	}

	return iconMap[type] || '📄'
}

/**
 * 获取申请状态文本
 * @param status 申请状态
 * @returns 对应的状态文本
 */
export const getStatusText = (status: string): string => {
	const statusMap: Record<string, string> = {
		'pending': '审批中',
		'approved': '已通过',
		'rejected': '已拒绝',
		'canceled': '已取消'
	}

	return statusMap[status] || '未知状态'
}

/**
 * 获取申请状态对应的样式类名
 * @param status 申请状态
 * @returns 对应的CSS类名
 */
export const getStatusClass = (status: string): string => {
	const statusMap: Record<string, string> = {
		'pending': 'pending',
		'approved': 'approved',
		'rejected': 'rejected',
		'canceled': 'rejected'
	}
	
	return statusMap[status] || 'pending'
}



/**
 * 获取申请类型详细文本（带"申请"后缀）
 * @param type 申请类型
 * @returns 对应的类型详细文本
 */
export const getWorkflowTypeText = (type: string): string => {
	const typeMap: Record<string, string> = {
		'leave': '请假申请',
		'purchase': '采购申请',
		'payment': '付款申请',
		"expense-report": "费用申请",
		'missedPunch': '补卡申请',
		'businessTrip': '出差申请',
		'expense': '报销申请',
		'seal': '用章申请',
		'vehicle': '用车申请',
		'business-trip': '出差申请' // 兼容不同的命名格式
	}
	return typeMap[type] || '未知类型'
}

/**
 * UI 工具函数集合
 */
export const uiUtils = {
	getApplicationIcon,
	getStatusText,
	getStatusClass,
	getWorkflowTypeText
}

export default uiUtils 